package com.jinx.conf;

import liquibase.integration.spring.SpringLiquibase;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import javax.sql.DataSource;

/**
 *
 *  liquibase 配置
 *
 * @author Jinx
 * @date 2021/7/4 18:54
 */
@Configuration
public class LiquibaseConfig {


    @Bean
    public SpringLiquibase springLiquibase(DataSource dataSource){
        SpringLiquibase springLiquibase = new SpringLiquibase();
        // 数据源  参数spring自动注入
        springLiquibase.setDataSource(dataSource);

        // 数据库变更日志文件位置   master中会引用其他子文件所以指定master就行了
        springLiquibase.setChangeLog("classpath:liquibase/master.xml");

        // 生效环境   可配置生产/测试/开发等环境
//        springLiquibase.setContexts("prod, test, dev");

        // fixme: 暂时不知道什么意思
        springLiquibase.setShouldRun(true);

        return springLiquibase;
    }
}
